Graphic display apparatus

ABSTRACT

A cathode ray tube display apparatus which uses a set of character codes sequentially addressed in a storage device in the process of generating a line-type display such as, for example, a graph. The direction of the line segments forming the display is encoded in the character set, and the direction encoded in each character code together with the character code determine the display position for the line segment represented by the next character code in the sequence. Input to the storage device is through a keyboard, but may be from an external source such as, for example, a data processor. The number of input keys is less than the number of character codes in the set, so that the display apparatus determines the nature of the character code to be loaded into the storage device by each keyboard input. A background line-type scale for the graph, in the form of coordinate axes, is also generated and displayed.

Emit

Dodds, Jr. et a1.

States Patent 1 1 GRAPHIC DISPLAY APPARATUS [75] Inventors: Thomas J. Dodds, Jr., Secane;

Harold F. Gibson, Downington, both of Pa.

[73] Assignee: Burroughs Corporation, Detroit,

Mich.

[22] Filed: Oct. 21, 1971 [21] App1.No.: 191,408

[52] U.S. Cl 340/324 A, 178/783, 315/18 [51] Int. Cl. G06f 3/14 [58] Field of Search 340/324 A; 315/18; 178/7.83

[56] References Cited UNlTED STATES PATENTS 3,675,230 7/1972 Pitteway 340/324 A 3,248,725 4/1966 Low et a1 340/324 A 3,329,948 7/1967 Halsted 340/324 A 3,334,304 8/1967 Fournier et al.. 340/324 A X 3,437,869 4/1969 Cobb et a1. 340/324 A X 3,438,003 4/1969 Bryan 340/324 A X 3,569,951 3/1971 Lavenir et a1.... 340/324 A 3,404,309 10/1968 Massell et a1. 315/18 3,500,115 3/1970 Auger 315/18 Primary Examiner-David L. Trafton Att0rneyEdward J. Feeney, Jr.

[57] ABSTRACT A cathode ray tube display apparatus which uses a set of character codes sequentially addressed in a storage device in the process of generating a line-type display such as, for example, a graph. The direction of the line segments forming the display is encoded in the character set, and the direction encoded in each character code together with the character code determine the display position for the line segment represented by the next character code in the sequence. Input to the storage device is through a keyboard, but may be from an external source such as, for example, a data processor. The number of input keys is less than the number of character codes in the set, so that the display apparatus determines the nature of the character code to be loaded into the storage device by each keyboard input. A background line-type scale for the graph, in the form of coordinate axes, is also generated and displayed.

3 Claims, 23 Drawing Figures I24 14 INPUT/OUTPUT E INFORMAHON EQIT M EMOBY M U EST[INDflHIBITKEYQARQLOADCYCLE KEYBOARD CONTROL E I DRVERS I e I i g g I MEMORY I?) 1 H6 KEYBOARD GRAPH'C I; 1 Um I F A BZ EIIOOOEII 'NPUT g 1 1 FROM IIIsPLIII GRAPHIC DETECTOR X I SENSE CONTROL GRAPHIC EDIT J 0 AMPLIHERS I ,EDIT DECODER CYCLE 4 701 OOIIIIIOL CONTROL 110 GRAPHIC I KEYBOARD MEMORY STORAGE I INFORMATION 1 TOMFMORY CLO, I REGISTER g g OISPIII H t I iv 1 9O OIIIEOIIOII UP/DOWN IOP/BOIIOII ENCODER I UP/DOWN STORAGE STORAGE D1SPLAY STORAGE 1 M REGISTER -78 I24 7 84 86 I20 XFER GATES l I 92 1 v i it DISgLA CHANGE COUNT COUNT INHIBIT Y a DRCF],0N ,VER61CAL VERTICAL IIORIZOIIIAI 88 REGISTER 76 I P OOwII COUNT f STORAGE DETECTION STORAGE STORAGE sIORAOE YBANSLATOR MEMORY I26 1| 1 J M 1 INPUTDATA I GATES 72 1 MODULATOR 194 Fig. 3

INVENTORS I55 I6 I55 THOMAS J. DODDS JR.

BY HAROLD F. GIBSON HQZ M ATTORNEY PAIENIEIJOOI 23 Ian 3. 768; 092

ShEET REF 7 I P5 Fig.5 Fig.6

s5 52 P2 V03 L SI Dl\ D2 P3 MEMORYCELL ML M-2 M-5 M-4 CELL CONTENHT BIT WORD) 7 Fig.7

\--"DY-I Fig.8 Fig.9

s5 88 P7 O MEMORY CELL M-5 M-6 M-7 M-8 CELL CONTENT (7 BIT WORD) l y Y Q Fig/0 l HALF LOP HALF BOTTOM CHARACTERS l CHARACTERS F ig F ig l2 PATENTED ON 2 3 ms SHEET 5 DE 7 NEW CHARACTER PRECEDINC L." CHARACTER NEW CHARACTER PRECEDINC CHARACTER NEW I CHARACTER PRECEDING CHARACTER F lg. [5

F lg. /4

MIA

NORMA- M-II MEMORY CELL LINE HANK

LINE

CELL CONTENT (I BIT WORD) Fig. /6

PIO

015 & Duh? DII & 012

DID

POL

SOL /i NORM 0M DASH PATENTEOIII2723 ma 0 3. 768,092

SREETBOF? MEMORY KEYBOARD ASCII SYMBOL CODE NEXT POSITION CODE CODE 705452| VERTICAL HORIZONTAL 502321 7054321 HOP IIIOIOO 0||00 |||0|00 BDOWN ||00100 +1 0|0|| ||00|00 %UP IIIOOIO 0|0|0 |||00|0 SDOWN ||0000| 0|00| ||0000| H IIIIIOOUPDOWN |||00 |||||00 DOWN IIOIIOO +1 ||0|| ||0||00 H IIIIOII UPDOWN IIIOOIIIIOII DOWN IIOIOII ||0|| ||0|0|| @UP IIIIOIO ||0|0 ||||0|0 2UP IIIIOOI ||0|0 IIIIOOI gnowm IIOIOIO ||00| IIOIOIO Q0000 IIOIOOI ||00| IIOIOOI jmcm IIIOIOI *||0| IIIOIOI 900m IIOOIIO *|10| IIOOIIO NOTES IN NEW DIRECTION BEFORE DISPLAY OF THE CHARACTER. 2. SHIFT NOT IMPLEMENTED.

F lg. 19

I A CHANGE IN DIRECTION WILL AUTOMATICALLY ADD ADDITIONALVERTICAL COUNT GRAPHIC DISPLAY APPARATUS BACKGROUND OF THE INVENTION This invention relates generally to data handling systems, and particularly to such systems wherein the data is converted to a displayable form for presenting a linetype graphic display on the face or screen of a cathode ray tube. While not limited thereto, the invention finds special application in, and was specifically designed for use in, the display apparatus disclosed and claimed in a copending application of Thomas J. Dodds, J r., Clegg Eagleson, and Harold F. Gibson, entitled Time- Shared Apparatus For Operating Plural Display Media, And Display Methods Including Paging, Displaying Special Forms And Displaying Information In Tabulated Form, US. Pat. No. provide 3,648,245.

SUMMARY OF THE INVENTION Postion P1 An object of the invention is to provide improvements in display apparatus.

Another object of the invention is to provide an apparatus for displaying graphs.

A further object of the invention is to provide a display apparatus for displaying continuous, blank, dotted, or dashed lines.

Still another object of the invention is to provide an apparatus for displaying continuous lines and which requires no previous positioning of a cursor. horizontal A further object of the invention is to provide a display apparatus for displaying a coordinate-axes scale.

Another object of the invention is to provide a display apparatus which eliminates the limitations normally encountered in using an expanded character set.

Another object of the invention is to provide a directional expanded character set for display apparatus whereby the efficiency of the display apparatus approaches that of a display terminal containing a true vector generator.

A more specific object of the invention is to provide a display apparatus which uses a magnetic memory for storing directional expanded character codes representative of displayable line segments and which apparatus requires significantly fewer character codes and therefore a significantly smaller memory than a normal expanded character set.

Still a further object of the invention is to provide improvements in methods for generating graphic displays.

In accordance with the above objects and considered first in one of its broader aspects, apparatus according to the invention for generating and displaying line segments may comprise a display medium having horizontal and vertical display positions, a storage device for storing character codes each representing a line segment, and horizontal and vertical positioning counters for establishing the horizontal and vertical display positions on the display medium. A pulse is provided for continuously stepping the horizontal position counter for establishing each horizontal display position, and first and second storage registers are provided for storing character codes that are read out of the storage device. A memory control is provided for reading out the character codes individually from the storage device in a sequence into the first and second storage registers. A symbol generator which is responsive to each character code in the second storage register is provided for generating and displaying its line segment on the display medium at a display position established by the horizontal position counter and the vertical position counter. A graphic decoder coupled with a change of direction detector is responsive to each of certain of the character codes in the first storage register is provided for actuating the vertical position counter, or for inhibiting the stepping of the horizontal position counter or both, in accordance with the particular character code, for establishing the display position for the next character code in the sequence.

The invention will be more clearly understood when the following detailed description of the preferred embodiment thereof is read in conjunction with the accompanying drawing which is described below.

BRIEF DESCRIPTION OF THE DRAWING FIG. 1 is a perspective view of a keyboard-monitor display set embodying the invention.

FIG. 2 is a diagrammatic illustration of a cathode ray tube displaying two graphs and a scale according to the invention.

FIG. 3 is an enlarged view of one of the character blocks or character spaces illustrated diagrammatically in FIG. 2, the character block consisting of atop half and a bottom half.

FIGS. 4A and 4B, when placed together as illustrated in FIG. 4, constitute a block diagram of graphic display apparatus constructed in accordance with the invention.

FIG. 5 is a diagrammatic illustration of the display of a line on the cathode ray tube screen.

FIGS. 6 and 7 are diagrammatic illustrations used in explaining the gross positioning of the cathode ray tube beam in the process of displaying the line of FIG. 5.

FIG. 8 illustrates the display of a line which has changed from an upward to a downward direction.

FIGS. 9 and 10 are diagrammatic illustrations used in explaining the manner in which the change of direction is effected in the process of displaying the line of FIG. 8.

FIG. 11 illustrates diagrammatically certain ones of the Half Top characters or line segments.

FIG. 12 illustrates diagrammatically certain ones of the Half Bottom characters or line segments.

FIGS. 13, 14 and 15 are diagrammatic illustrations.

used in explaining the manner in which the invention determines the nature of the new character to follow a preceding character in certain keyboard loading operations.

FIG. 16 is a diagrammatic illustration of the display of a Normal line segment followed by a Blank line segment followed by a Normal line segment.

FIGS. 17 and 18 are diagrammatic illustrations used in explaining the manner in which the composite line of FIG. 16 is displayed.

FIG. 19 is a tabulation of the symbols of the line segments that are used in the display and illustrates the Next Position values in establishing the gross position of the cathode ray tube beam after the display of each symbol.

FIG. 20 is a tabulation of the graphic character codes used with the invention.

FIG. 21 is a diagrammatic illustration of the keyboard.

DESCRIPTION OF THE PREFERRED EMBODIMENT The invention utilizes an expanded character set with a resolution of 80 (horizontal) X 50 (vertical) and includes direction in the character set, thereby eliminating the limitations normally encountered in using an Expanded character set. By encoding direction into the character set, it is possible to sequentially draw continuous lines which require no previous positioning of a cursor. By using the method of the invention, it is possible to display two characters in the same screen position. This mode of operation enables the cathode ray tube Terminal, or other display system in which the invention may be used, to cross any number of lines without a break in any line. Lines may also be superimposed upon each other. In the present embodiment of the invention, 4 types of lines are provided: Continuous, Dotted, Dashed, and Blank line, however, the number and types of lines are illustrative and not limiting. The invention also provides means for displaying a moveable scale, so that the necessity of drawing a background scale in conjunction with graphs is eliminated.

The character set includes special line segments that occupy a complete character space. A complete character space references the lower left-hand corner of a character area and includes the inter-character and inter-line space assigned to the selected character. A line segment that occupys a complete character space will allow the drawing of continuous lines composed of straight line segments.

In the present embodiment of the invention, the character set uses a set of 14 vector segments which are produced by a symbol generator as discrete, addressable symbols for presentation in an 80 X 25 format. Each character code also indicates the direction in which its line segment is being drawn, and the directional information is used in conjunction with the charcter code to determine the gross positioning for the next character to be displayed. in the present embodiment of the invention, the character symbols are produced in the same manner as described in the aforementioned Dodds et al. application, however, they are expanded electronically to fill a 0.15 inch X 0.36 inch area (FIG. 3) between lines and columns of the format, however, it is understood that these dimensions and the method of producing the symbols are illustrative and not limiting.

The particular characters chosen for purposes of illustration are shown in H0. 19 together with their associated codes. These provide the capability of generating a continuous vector through adjacent character locations at angles of 50, 67, and 90 in four quadrants with an effective resolution of 80 horizontal X 50 vertical increments, however, for purposes of illustration it is only deemed necessary to show the graphs as they would be drawn from left to right on the screen of the cathode ray tube.

Each vector character code produces a line segment on the angle selected. Longer vectors are formed from chains of these line segments which are stored sequentially in the Terminal refresh memory and sequentially drawn with the gross position of each line segment referenced to the previous line segment.

The four illustrative line types are generated by preceding a line segment chain with a code specifying the type of line. Also provided is the ability to position the starting point of any line to a specific screen position, which in the present embodiment of the invention has been illustrated to be the upper left-hand corner of the cathode ray tube screen. This is accomplished by placing a Start of Line code so that it precedes the line segment chain of the particlar line type desired. Use of the Start of Line code in conjunction with a Blank Line code allows the formating of graphs, such that comparisons may be made simply by placing two or more graphs on the same scale.

The invention is also capable of displaying a moveable scale in the form of coordinate axes. The coordinate scale lines are hardware-generated and require no memory allocation. The scale lines include a horizontal line which extends from character position 1 to the last horizontal character position, which in the present embodiment of the invention is character position 80, and a vertical line which extends from line 1 to the last line, which in the present embodiment of the invention is line 25. The vertical and horizontal starting positions of these lines are variable, which allows the positioning of their intersection to any of the illustrative 4,000 intersect points.

Movement of the scale lines and their intersection is accomplished by depressing appropriate keys located on a keyboard. Depressing a Horizontal Down key causes the horizontal scale line to move down one line. Depressing a Horizontal Up key causes the horizontal scale line to move up one line. Positioning of the vertical scale line is similarly accomplished by means of two keys for positioning the vertical scale line to the left or right. Depressing any of these scale keys to the second level causes the particular function to be repeated at a particular frequency, which in the present embodiment of the invention has been chosen to be 10 cycles per second.

If the invention is used in a display system such as, or similar to, the one described in the aforementioned Dodds et al. application, the scale can also provide a means of interrogating any character or position in the format for the purpose of transmitting this information to an associated device such as a data processor. Thus, by depressing a Scale Send key (FIG. 21 l. the vertical and horizontal starting positions of the scale lines can be transmitted to a data processor as a two-character message. This function permits an operator to use the scale lines in the same manner as a Light pen. Since the scale lines are referenced to the screen resolution and drawn in the same manner as graphic lines, the inaccuracy found in using a Light pen is eliminated. Furthermore, when drawing graphs, the operator has a constant reference to the scale as each point is plotted.

As indicated previously, the illustrated embodiment of the invention uses l4 character codes and their symbols in the process of drawing and connecting line segments. However, the present embodiment uses only 5 keys and the Shift key on the keyboard for drawing the graphic lines. This number of keys, however, is merely illustrative and not limiting. These keys are used by the operator to specify both magnitude and direction in which a line segment is to be drawn. The Terminal automatically determines the correct symbol to be displayed. Each time one of these 5 graphic line keys is depressed, either with or without the Shift key, a new symbol appears on the cathode ray tube screen connected to the end of the previous symbol and the cursor moves to the next anticipated screen location. If the direction of the graph line changes, the Terminal automatically corrects the anticipated position of the cursor and connects the lines. When the Shift key is depressed in conjunction with any of the graphic line keys, the

line displayed will be a Half line segment, as later defined. Two of these Half line segments are required to fill a character area or block, thereby allowing 50 increments in the vertical direction.

If the invention should be used in a display system such as that described in the aforementioned Dodds et al. application, the Insert and Delete functions described in that application may similarly be used to edit the graphic data in the present application in much the same manner as done in the Dodds et al application in editing alphanumerics. Once the cursor is placed over a line segment, the operator may either insert an additional line segment at the location of the cursor or he may delete the existing line segment. The following line segments will automatically reposition depending upon either the addition or deletion of the line segment. These functions allow the editing of a graph which is comprised of accumulative data. Also, if the present invention is used in a system similar to that disclosed in the Dodds et al. application, an existing character can be replaced by a new character in the same manner disclosed in the Dodds et al application. An understanding of the performance of the Insert, Delete, and Replace functions is not deemed necessary to achieve an understanding of the operation of the present invention, but these functions are mentioned here merely to indicate more fully the usefulness and versatility of the present invention. However, reference may be made to the Dodds et al. application for further information regarding the performance of these functions.

Turning now to the details of the invention, the illustrated embodiment contains a l024-character, seven bits per character magnetic memory, preferably of the magnetic-core coincident current destructive readout type, and is organized to visibly display the graphic line symbols represented by the character code contents of this memory in an illustrative 80 (horizontal) X 50 (vertical) resolution on a suitable medium which, in the present embodiment of the invention, has been chosen to be a cathode ray tube. This character capacity and bit capacity of the memory, as well as its type, and the particular type of display medium chosen are not limiting, but only illustrative. The 1024 memory character positions (bytes) may be further identified sequentially as memory cells by reference characters M-0 to M- 1023.

The memory (FIG. 4A), which includes the memory stack and the necessary drivers, switches, and decoder for addressing the memory stack and providing Read/Write operations at addresses specified by a memory address register 64 (FIG. 4B) or a cursor memory address register 58, is part of an overall memory system 12 (FIG. 4A), which may be of any suitable type, but which in the present embodiment of the invention is similar to the memory system described and claimed in U.S. Pat. No. 3,439,345 issued in the names of Edward F. Myers and John R. Port and assigned to the same assignee as the present invention. For details of the operation of this memory system, reference may be made to the aforementioned patent.

In generating the Read/Write cycles, the memory 10 is strobed for addressing by Read and Write pulses developed in a memory control and timing circuit 40 (FIG. 4B) which consists of a five-bit shift register used to generate timing pulses for accessing the memory 10. The memory address for the Read/Write cycles is steered from the memory address register 64 or the cursor memory address register 58, both of which are 10-bit counters, to the memory 10 by a set of address selection gates 66.

The invention utilizes a keyboard-monitor 8 (FIG. 1) which employs a keyboard 14 for manual entry of data into the memory 10 and a monitor 15 for displaying the graphical data. The monitor 15 employs a cathode ray tube 16, such as is indicated diagrammatically in FIG. 2, and houses the cathode ray tube power, driving circuits and controls. The particular cathode ray tube 16 utilized in the illustrative embodiment of the invention has been chosen to have an electromagnetic deflection system, however, other cathode ray tube beam deflection systems may be used.

The horizontal deflection amplifier of the deflection system of the cathode ray tube 16 is coupled to the output of a horizontal position counter 18 (FIG. 4B) through a line driver 20 and a digital-to -analog converter 22, and the vertical deflection amplifier of the deflection system of the cathode ray tube 16 is coupled to the output of a vertical position counter 24 through a line driver 26 and a digital-to-analog converter 28 for horizontal and vertical positioning respectively, of the cathode ray tube electron beam in the process of generating the graphic display on the face of the cathode ray tube screen. The electron beam of the cathode ray tube 16 will illuminate the cathode ray tube screen by displaying the various line segment symbols whenever the beam is unblanked by a blanking control in a symbol generator 32.

The horizontal position counter 18 is a seven-bit counter which is used to obtain the horizontal positions of the display on the cathode ray tube 16. The counter 18 provides output states so that the horizontal digital-to-analog converter 22 can establish the 80 positions for left-to-right positioning; The vertical position counter 24 is a five-bit counter and is used to obtain the vertical position of the display on the cathode ray tube 16. The counter 24 provides 25 output states so that the vertical digital-to-analog converter 28 can establish the 25 positions for top-to-bottom positioning of the cathode ray tube electron beam. As will appear more clearly hereafter, each of the 25 vertical positions can be used for displaying either a full line segment or one or two Half line segments, thus providing a resolution of 50 in the vertical direction.

The horizontal and vertical positioning of the electron beam by the counters ll8 and 24 serves to gross position the beam to a reference point on the screen of the cathode ray tube, so that the symbol generator 32 can use these points as reference points for generating the line segment symbols. As will appear later on, these reference points have been chosen to be the lower left corner of each character area or character block (FIG.

The symbol generator 32 and the method of generating the stroke-type line-segment symbols are similar to those described in the Dodds et al. application, however, the symbol generator 32 in the present invention produces standard symbols in the same manner as that described in the Dodds et al. application and then expands them electronically to fill an illustrative 0.15 inch X 0.36 inch area between lines and columns of the format.

As indicated earlier, the graphic character code data representing various line segments may be loaded manually into the memory 10 by means of the keyboard 14.

However, the invention is not limited to manual entry of data into the memory 10, but data may also be loaded automatically into the memory 10 from an associated device such as, for example, a data processor. For the purposes of the present description, however, it is deemed sufficient to describe only the manual loading of data through the keyboard 14.

After the loading of data into the memory 10, which will be described later on, the next operation is the start of a display memory cycle. The display memory cycle begins with the transmission of a Start Screen pulse from a start control circuit 34 (FIG. 43) to the memory control and timing 40, the start control 34 being coupled to a suitable source of power such as a source of alternating current 38. The display begins by the application of timing signals from the memory control and timing 40 to return or preset the memory address register 64 to its first position corresponding to the first character display position at the upper left of the screen in its first, or top, display line. The horizontal position counter 18 is reset to its first position or output state corresponding to the left side of the screen and the first character position, and the vertical position counter 24 is reset to its first position or output state corresponding to the top, or first, line of the screen. A Display On signal from the memory control and timing 40 activates a gate in a screen blanking control 44 which steers the cathode ray tube beam intensity control signals from the symbol generator 32 to the cathode ray tube 16.

The address in the memory address register 64 is strobed into the address selection gates 66 by the memory control and timing 40 to read out the first character code in the memory 10 into a memory information register 70 (FIG. 4A) via sense amplifiers 68, and then into a display register 76 via display register transfer gates 78. As the character code is thus read out from the memory 10, it is decoded in the memory information register 70 by a display register decoder 80 (FIG. 4B) which provides an output signal to the memory control and timing 40 to cause the character code in the display register 76 to be transferred into the symbol generator 32 via input gates in the symbol generator 32, and thus initiate a display on the cathode ray tube screen of the symbol or line segment represented by the character code in the display register 76.

After the character code in the display register 76 has been generated and displayed on the cathode ray tube screen, the symbol generator 32 generates an End of Character signal to the memory control and timing 40 to signify that a character display cycle has been completed and that the next character code in the memory 10 may be displayed.

The character code in the display register 76 is then written back into the same location in the memory 10 via the memory input data gates 72 (FIG. 4A) and information drivers 74. The memory address register 64 and the horizontal position counter 18 are automatically counted up by one count by count pulses from the memory control and timing 40 to initiate the next character display cycle, however, as will appear shortly, the count pulse to the horizontal position counter 18 may be inhibited.

As a character code is read out from the memory 10, as explained previously, it is also decoded in the memory information register 70 by a graphic decoder 82 (FIG. 4A) in the process of determining and setting the gross display position for the next character code to be read out of the memory 10. The graphic decoder 82 is enabled by a display control 83 (FIG. 4B) which is activated by a Start Display pulse from the start control 34. The output of the graphic decoder 82 is applied to 3 storage or actuating devices which, in the present embodiment of the invention comprise 3 flip flops: a Count Vertical Up flip flop 84 (FIG. 4A), a Count Vertical Down flip flop 86, and an Inhibit Horizontal Count flip flop 88. Depending upon the particular character code in the memory information register 70, one or two of the flip flops 84, 86 and 88 may, or may not, be set so as to adjust the output state of the horizontal position counter 18 and vertical position counter 24 for setting the gross display position for the next character code to be read out of the memory 10. An example will now be given to illustrate how a line is displayed by connecting various line segments and how the gross display position is determined and set.

FIG. 5 illustrates a graphic line displayed on the screen of the cathode ray tube 16 as progressing from left to right and in an upwardly direction and composed of4 line segments S1 to S4 whose directional character codes are represented as arrowed line segments in FIG. 6 and as being stored in memory cells M-l to M-4 in FIG. 7. During the display memory cycle D1 (FIG. 6) of the character code which was read out of the memory cell M-1, this memory character code (1110010, FIG. 19) will be decoded by the graphic decoder 82 which will proviee an output signal to one of the flip flops 84, 86 and 88 in accordance with the Next Posittion indications shown in FIG. 19 alongside the memory codes. According to FIG. 19, the next position for gross positioning of the cathode ray tube beam in the vertical direction is up one position (-1 from point ;1 on the cathode ray tube screen and the next gross position in the horizontal direction is to the right one posi tion (+1) from point P1 on the cathode ray tube screen. In accordance with these designations in FIG. 19, the graphic decoder 82 will provide an output signal to set the Count Vertical Down flip flop 86. After the display of the line segment S1 in its display cycle D1, the output from the Count Vertical Down flip flop 86 will count the vertical position counter 24 down by one count so as to place the gross position of the cathode ray tube beam at point P2 (FIG. 6). It is understood that in placing the beam at point P2, the horizontal position counter 18 was also counted up by one count, however, this was accomplished automatically by a count pulse from the memory control and timing 40.

During the next display cycle D2 (FIG. 6) for displaying the line segment S2, neither the Count Vertical Down flip flop 86 nor the Count Vertical Up flip flop 84 nor the Inhibit Horizontal Count flip flop 88 is set, so that after the display cycle D2 the uninhibited count pulse from the memory control and timing 40 to the horizontal position counter 18 will place the gross position of the cathode ray tube beam to a point P3.

During the display cycle D3 for the line segment S3 the Count Vertical Down flip flop 86 is set by the output from the graphic decoder 82 and the Inhibit I-Iorizontal Count flip flop 88 is set by the output from the graphic decoder 82. After the line segment S3 is displayed in the display cycle D3, an output signal from the Count Vertical Down flip flop 86 is applied to the vertical position counter 24 to count it down by one count and an output signal from the Inhibit HORIZON- TAL Count flip flop 88 is applied to the horizontal position counter 18 to inhibit the count pulse from the memory control and timing 40, thus establishing the gross position for the cathode ray tube beam at point P4. After the next display cycle D4 for displaying the line segment S4, the gross position for displaying the next character code to be read out of the memory 10 will be at point P5.

FIG. 8 illustrates a change in direction in a graph line composed of Up line segments S5 and S6 and Down line segments S7 and S8. The character codes for the line segments 55-88 are considered for purposes of illustration as being stored in memory cells M-5 to M8 illustrated in FIG. 10. The manner in which the change in direction in the graph line shown in FIG. 8 is accomplished and displayed will now be described.

After the display of the line segments S5 and S6 in their respective display cycles D5 and D6 (FIG. 9) in a manner similar to that previously described, the gross position for the cathode ray tube beam will be established at point P6, similar to the establishment of point P2 (FIG. 6) described previously. In the display cycle for the line segment S7, its character code in memory cell M-7 will be read out in the display cycle, decoded while in the memory information register 70 by the graphic decoder 82, and the fifth and seventh bits of the character code in the memory information register 70 applied as output signals to a Display Direction Up/- Down storage block which in the present embodiment of the invention is a flip flop 90 (FIG. 4A), thereby causing the Up/Down flip flop 90 to change states. Graphic decoder 82 will also provide another output signal to a Change of Direction detector 92 which will compare this signal with the output from the Up/Down flip flop 90 to detect the change of direction encoded in the fifth bit of the character code in the memory information register 70. According to FIG. 19, the diagonal Down line segment S7 (code 1100001) would normally call for a setting signal from the graphic decoder 82 to the Count Vertical Up flip flop 84 and with no signal going to the Inhibit Horizontal Count flip flop 88. However, since a change of direction is to take place, the Change of Direction detector 92 provides an output signal to set the Inhibit Horizontal Count flip flop 88. This will cause the gross position for the cathode ray tube beam to move to point P7 (FIG. 9), as will now be more fully described.

Two display cycles will be required to display the line segment S7: a first display cycle D7-l and a second display cycle D7-2. During the first display cycle D7-1 in which the gross position for the cathode beam is at point P6, the display will be blanked as indicated by the dotted line in FIG. 9 and the Change of Direction detector 92 will provide an output signal to a memory control 94 (FIG. 4A) which in turn will inhibit the count pulse to the memory address register 64 from the memory control and timing 40 to initiate the second display cycle D7-2. Also, during the first display cycle D7-1, and in accordance with FIG. 19, the Count Vertical Up flip flop 84 will be set by the output from the graphic decoder 82 and the Inhibit Horizontal Count flip flop 88 will be set by the output from the graphic decoder 82. At the end of the first display cycle D7-l, the Count Vertical Up flip flop 84 will count up the vertical position counter 24 by one count and the output from the Inhibit Horizontal Count flip flop 88 will inhibit the count pulse from the memory control and timing 40 to the horizontal position counter 18, thereby placing the gross position for the cathode ray tube beam at point P7 for the second display cycle D7-2.

During the second display cycle D7-2, the line segment S7 will be displayed and the Count Vertical Up flip flop 84 will be set by an output signal from the graphic decoder 82. At the end of the second display cycle D7-2, the vertical position counter 24 will be counted up by one count by an output signal from the Count Vertical Up flip flop 84 to place the gross position of the cathode ray tube beam at point F8 for displaying the next line segment S8 in its display cycle D8.

The character codes whose line segments are to be displayed are loaded into the memory 10 with the aid of a number of graphic keys 96, 98, 100, 102, and 104 (FIG. 21). Depressing any one of the graphic keys 96, 98, 100, or 102 causes the generation and display of a line segment which occupies a complete character block in the vertical direction or diagonal direction, such as the upper 4 line segments illustrated in FIG. 19. Depressing the Shift key along with any of the graphic keys 96, 98, or 102 causes the generation and display of a Half line segment. A Half line segment is defined as one which occupies a particular half of a character block. Stated another way, a Half line segment is one which is displayed either in the upper half of a character block or in the lower half of a character block. The lower 10 line segments illustrated in FIG. 19 are the Half line segments. The Shift key is not implemented for use with the graphic key 104, however, as indicated in FIGS. 11, 12 and 19, the Right line segments represented by the graphic key 104 are considered to be Half line segments. The location of each Half line segment in a particular half of a character block is encoded in the first 4 bits of the character code, or memory code (FIG. 19).

When any one of the graphic keys 96404 is depressed either with or without the Shift key, the appropriate character code will be loaded into the memory 10 and its line segment generated and displayed and connected in the display to the previous line segment. If the invention is used in a display system such as, for example, that described in the aforementioned Dodds et al. application, the line segment entered will be displayed at the location of a cursor marker symbol and the cursor marker symbol will then move to the next position. The manner in which the cursor marker symbol may be generated and displayed is described in the Dodds et al. application, however, for purposes of the present invention, only the function and operation of the cursor memory address register 58, also used in the Dodds et al. application, will be described briefly in connection with the loading of graphic character codes into the memory 10.

Thus, whenever one of the graphic keys 96-104 is depressed, a 5-bit keyboard code (FIG. 19) is encoded in a keyboard encoder 106 (FIG. 4A), detected by a graphic input detector 108 and transferred into a graphic keyboard storage register 110 which is turned on by an output signal from the graphic input detector 108. The S-bit keyboard code in the graphic keyboard storage register 110 is converted into a 7-bit memory code in an encoder 112, and the 7-bit memory code transferred into a graphic input translator 114.

The graphic input detector 108 provides an output signal to a graphic edit cycle control 116 to initiate a graphic edit memory cycle by signaling an edit control circuit 118 which in turn signals the memory control and timing 40 to provide a graphic edit memory cycle and to inhibit the current keyboard loading cycle.

The purpose of the graphic edit memory cycle is to permit the determination of the characteristics of the character code stored in the memory cell preceding the Insert memory cell where the'new information is to be stored. Accordingly, the graphic edit cycle control 116 counts down the cursor memory address register 58 (FIG. 48) by one count from the address of the Insert memory cell, the memory is addressed by the cursor memory address register 58 and a Read/Write cycle is initiated. The character in the previous memory cell addressed by the cursor memory address register 58 is read out into the memory information register 70 via the sense amplifiers 68 and detected by the graphic decoder 82. The output from the graphic decoder 82 and the fifth and seventh bits of the character code in the memory information register 70 are applied to an Up/- Down storage device 120 (FIG. 4A) and a Top/Bottom storage device 122 both of which in the present embodiment of the invention are flip flops. The output from the Up/Down flip flop 120 will indicate to the graphic input translator 114 whether the character code in the memory information register 70 is an Up or Down character, that is, whether its line segment is to be displayed as though it were being drawn in the upward or downward direction, and the output from the Top/Bottom flip flop 122 indicates, in the case of Half characters, whether the character code in the memory information register 70 represents a Half Top character or a Half Bottom character. The graphic input translator 114 uses the information from the Up/Down flip flop 120, the Top/Bottom flip flop 122, and the encoder 112 in order to generate and transmit to the memory 10 the proper character code. A few examples will illustrate the performance of this function.

For purposes of illustration, certain ones of the Half Top characters are shown in FIG. 11 and certain of the Half Bottom characters are shown in FIG. 12. It is assumed for purposes of illustration that the graphic key 96 (FIG. 1 l) and the Shift key are depressed. This calls for loading into the memory 10 a Half Up character. The system must determine whether the character to be loaded into the memory 10 is to be a Half Up Top character or a Half Up bottom character.

If the preceding character in'the memory information register 70 is a Half Up Bottom character as shown in FIG. 13, the new character to be loaded into the memory 10 by the graphic input translator 114 will be a Half Up Top character. If the preceding character is a Half Down Top character as shown in FIG. 14, the new character to be loaded into the memory 10 will be a Half Up Top character. If the preceding character is a Half Up Top character as shown in FIG. 15, the new character to be loaded into the memory 10 will be a Half Up Bottom character With this information determined by the graphic input translator 114, and on the Write portion of the current graphic edit memory cycle, the character code in the memory information register 70 is written back into its cell in the memory 10 via the display register transfer gates 78, the display register 76, the memory input data gates 72, and the information drivers 74. The cursor memory address register 58 is then counted up to its original position by the graphic edit cycle control 116 (FIG. 4A) so that it again contains the memory address of the Insert memory cell for loading into the memory 10 the input character code generated in the graphic input translator 114.

With the graphic edit memory cycle now complete, the graphic edit cycle control 116 will signal the edit control 118 which in turn will provide an output to the memory control and timing 40 to have it generate another Read/Write cycle to complete the keyboard loading cycle. On the Read portion of this Read/Write memory cycle, the address of the character code in the Insert memory cell, where the input data is to be loaded, is addressed by the cursor memory address register 58, the existing character code is read out into the memory information register via the sense amplifiers 68, and the input character code gated into the display register 76 via the display register transfer gates 78 from the graphic input translator 114 by an Input/Cub put control 124 (FIG. 4A). on the Write portion of this Read/Write cycle, the input character code in the display register 76 is written into the Insert memory cell in the memory 10 via the memory input data gates 72 and information drivers 74 and the existing character code in the memory information register 70 discarded. If the gross positioning point changes, the cursor mem ory address register 58 is counted up by one count by the graphic edit cycle control 116.

The invention was specifically designed to generate and display 4 types of lines, however, it is understood that the invention is not limited to this number of line types. The 4 types of lines are Normal, Blank, Dotted, and Dashed lines and are generated by controlling the blanking of the cathode ray tube beam. When a linetype character code, representing one of these 4 types, is read from the memory 10, it is decoded in the memory information register 70 by the graphic decoder 82 which applies an output signal to the appropriate one of 4 storage devices in a line type storage 124 (FIG. 4A) which in the present embodiment of the invention comprises 4 flip flops each representing one of the line types. Blanking of the cathode ray tube beam is then modulated by a modulator 126 which receives its input signal from the particular one of the 4 flip flops in the line type storage 124 and operates a blanking gate in the symbol generator 32. Modulation of the cathode ray tube beam by the modulator 126 is continued until a new line-type character code is similarly read out from the memory 10. The 4 types of line character codes are loaded into the memory 10 in keyboard loading cycles by means of keys 128 and 130 (FIG. 21) and the Shift key. When a Blank line character is read out of the memory 10, blanking of the cathode ray tube beam is turned on. For generating and displaying a Dashed line, blanking is turned on during alternate display strokes. For generating and displaying a Normal line, blanking is controlled in a normal manner by the symbol generator 32. For generating and displaying a Dotted line, blanking is modulated at a frequency of one-half the stroke rate. The following is one example of how the display changes from one type of line to another, for example, from a Normal line to a Blank line and then back to a Normal line.

FIG. 16 illustrates a Normal line segment S10 followed by a Blank line segment S12 followed by a Normal line segment S14 whose character codes are assumed to be stored in memory cells M-lt), M-l2, and M-14 respectively (FIG. 18). At the end of the display cycle D (FIG. 17) for the line segment S10, the gross position for the cathode ray tube beam will be at point P9. During the next display cycle D11, a Blank line character code will be read out of the memory 10 from memory cell M-ll. representing a Blank line type. When this or any other line-type character is being processed, the horizontal and vertical position counters 18 and 24 do not change, so that, after the display cycle D11, the gross position for the cathode beam will remain at point P9. During the display cycle D11 the cathode beam will be blanked.

During the display cycle D12, the character code in memory cell M-l2 is read out, however, blanking of the cathode beam continues so that the display will appear blank as depicted by the Blank line segment S12 in FIG. 16. At the end of the display cycle D12 and in accordance with the character code read out of memory cell M-12 and FIG. 19., the gross position for the cathode ray tube beam will be at point P10 (FIG. 17). During display cycle D13, the character code is read out of memory cell M-l3 and represents a Normal line, however, since this is a line-type charcter, as mentioned previously the horizontal and vertical counters 18 and 24 do not change so that the gross position remains at point P10 and blanking of the cathode beam continues through display cycle D13. In the display cycle D14 for the line segment 514, the beam is unblanked and the line segment S14 is displayed with the gross position at point P10.

In order to establish a starting point for a graph, or the next graph, a Start of Line key 132 (FIG. 21) is provided for loading into the memory 10 a Start of Line character code (FIG. When the Start of Line character code is read out of the memory 10 in a display memory cycle, it is detected in the memory information register 70 by the display register decoder 80 which signals the memory control and timing 40 to have it set flyback of the cathode ray tube beam by resetting both the horizontal and vertical position counters 18 and 24. This positions the cathode ray tube beam to the left or first character position on the top or first line of the cathode ray tube screen for starting the next graph. The cursor memory address register 58 is also reset by the graphic edit cycle control 116 to its first position coresponding to the first or left character position on the top or first line of the cathode ray tube screen.

Another feature of the invention is its capacity for generating and displaying a moveable scale in the form of intersecting horizontal and vertical lines. The horizontal scale line 133 (FIG. 2) is formed by displaying a series of 80 Right Line segments (FIG. 19) and the vertical scale line 135 is formed by displaying a series of 25 Down line segments.

The scale is displayed prior to the beginning of the display memory cycles and its display is initiated by the Start Display pulse from the start control 34 to a scale control 134 (FIG. 4B). The scale control 134 activates a scale character generator 136 which generates the 25 Down character codes for the vertical scale and the 80 Right character codes for the horizontal scale. The scale character codes generated in the scale character generator 136 are transferred sequentially by the logic in the scale control 134 to the memory information register 70 to be displayed.

The X and Y coordinates of the scale are stored in two registers: a seven-bit X coordinate storage register 138 (FIG. 4B) for storing the X coordinate of the vertical scale and a five-bit Y coordinate storage register 140 for storing the Y coordinate of the horizontal scale. Depressing a Horizontal Down key 142 (FIG. 21) causes the logic in the scale control 134 to count up the vertical position counter 24 by one count so as to move the horizontal scale line 133 (FIG. 2) down one line on the screen. Depressing a Horizontal Up key 144 (FIG. 21) similarly causes the vertical position counter 24 to be counted down by one count so as to move the display of the horizontal scale line 133 one line up on the screen. Depressing a Vertical Right key 146 causes the logic in the scale control 134 to count up the horizontal position counter 18 by one count so as to move the display of the vertical scale line 135 (FIG. 2) one position to the right on the screen. Depressing a Vertical Left key 148 (FIG. 21) similarly causes the horizontal position counter 18 to be counted down by one count so as to move the display of the vertical scale line 135 one position to the left on the screen.

When the scale display is initiated by the Start Display pulse (FIG. 4B), the contents of the X coordinate register 138 is transferred by the scale control 134 into the horizontal position counter 18. The horizontal position counter 18 is then counted up or down, as the case may be, in the event that one of the keys 146 or 148 was depressed after which the contents of the horizontal position counter 18 are transferred back to the X coordinate storage register 138. The vertical scale line 1.35 is now displayed. At the end of the vertical scale line display, flyback is set by the memory control and timing 40 by resetting both the horizontal and vertical position counters l8 and 24. The contents of the Y coordinate storage register 140 is next transferred by the scale control 134 into the vertical position counter 24. The vertical position counter 24 is then counted up or down, as the case may be, in the event that one of the keys 142 and 144 or depressed, and then the contents of the vertical position counter 24 transferred by the scale control 134 back to the Y coordinate storage register 140. The horizontal scale line 133 is now displayed. During the scale display, the memory 10 is deactivated.

What is claimed is:

1. An apparatus for generating and displaying line segments as characters wherein the display generated depends upon the sequence in which the segments are displayed, having a cathode ray tube display, a memory for holding line segment instructions, a keyboard input device, and a computer storage input device, the improvement comprising:

a graphic decoder tied to said memory;

a count vertical-up register tied to said graphic decoder;

a count vertical-down register tied to said graphic decoder;

a vertical position counter coupled to said count vertical-up and count vertical-down registers, said vertical position counter driving said CRT vertical deflection;

a horizontal position counter coupled to said CRT horizontal deflection;

symbol generating means responsive to each line segment instruction in said memory for driving said vertical position counter and said horizontal position counter for generating each individual line segment; and

detector means responsive to each of certain line segcounter and said horizontal position counter for ment codes in said memory for affecting said horigenerating each individual line segment. zontal position means in accordance with the par- 3. The apparatus of claim 2 wherein said detector ticular instruction for establishing the position of means includes: the next line segment in the sequence. 5 a display direction register loaded from said memory 2. The apparatus of claim 1 wherein said symbol genand said graphic decoder; crating means includes: a change of direction detector connected to said disa line type storage register connected to said graphic play direction register and said graphic decoder;

decoder; and a modulator connected to said line storage register; horizontal count inhibiting means associated with a symbol generator fed by said modulator and said said graphic decoder and said change of direction memory; and detector and for affecting said horizontal position memory control and timing means fed by said symbol counter.

generator for controlling said vertical position 

1. An apparatus for generating and displaying line segments as characters wherein the display generated depends upon the sequence in which the segments are displayed, having a cathode ray tube display, a memory for holding line segment instructions, a keyboard input device, and a computer storage input device, the improvement comprising: a graphic decoder tied to said memory; a count vertical-up register tied to said graphic decoder; a count vertical-down register tied to said graphic decoder; a vertical position counter coupled to said count vertical-up and count vertical-down registers, said vertical position counter driving said CRT vertical deflection; a horizontal position counter coupled to said CRT horizontal deflection; symbol generating means responsive to each line segment instruction in said memory for driving said vertical position counter and said horizontal position counter for generating each individual line segment; and detector means responsive to each of certain line segment codes in said memory for affecting said horizontal position means in accordance with the particular instruction for establishing the position of the next line segment in the sequence.
 2. The apparatus of claim 1 wherein said symbol generating means includes: a line type storage register connected to said graphic decoder; a modulator connected to said line storage register; a symbol generator fed by said modulator and said memory; and memory control and timing means fed by said symbol generator for controlling said vertical position counter and said horizontal position counter for generating each individual line segment.
 3. The apparatus of claim 2 wherein said detector means includes: a display direction register loaded from said memory and said graphic deCoder; a change of direction detector connected to said display direction register and said graphic decoder; and horizontal count inhibiting means associated with said graphic decoder and said change of direction detector for affecting said horizontal position counter. 